package com.wwmz.pattern.singleton.destroy;

import java.io.Serializable;

/**
 * Created by wumz on 2020/9/17 11:04
 */
public class SeriableSingleton implements Serializable {

    //序列化就是把内存中的状态通过转换成字节码的形式
    //从而转换一个I/O流，写入其他地方（可以磁盘、网络I/O）
    //内存中的状态会永久保存下来

    //反序列化就是讲已经持久化的字节码内容转换成I/O流
    //通过I/O流的读取，进而讲读取的内容转换为Java对象
    //再转换过程中重新创建对象

    public static final SeriableSingleton INSTANCE = new SeriableSingleton();

    private SeriableSingleton(){}

    public static SeriableSingleton getInstance(){
        return INSTANCE;
    }

    private Object readResolve(){
        return INSTANCE;
    }
}
